//
//  CZBaseViewControllerTableViewController.swift
//  GZWeibo007
//
//  Created by 黄伟 on 15/12/24.
//  Copyright © 2015年 itcast. All rights reserved.
//

import UIKit

// 遵守协议
class CZBaseViewController: UITableViewController, CZVisitorViewDelegate {

    var userLogin = CZUserAccount.userLogin
    
    override func loadView() {
        userLogin ? super.loadView() : setupVistorView()
    }
    
    /// 设置访客视图
    func setupVistorView() {
        // 设置一个view
        view = visitorView
        
        // 指定代理
        visitorView.delegate = self
        
        // 设置导航栏按钮
        // 左边
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewRegisterClick")
        //右边
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewLoginClick")
        
        // 根据不同的控制器来设置不同的内容
        print("当前控制器:\(self)")
        if self is CZHomeViewController{
            // 设置动画
            visitorView.startRotationAnimation()
            
            // 程序退到后台和进入前台都会发送通知
            // 注册通知
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didEnterBackground", name: UIApplicationDidEnterBackgroundNotification, object: nil)
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive", name: UIApplicationDidBecomeActiveNotification, object: nil)
            
        }else if self is CZMessageViewController{
            visitorView.setupVisitorInfo("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
        }else if self is CZDiscoveryViewController{
            visitorView.setupVisitorInfo("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
        }else if self is CZProfileViewController{
            visitorView.setupVisitorInfo("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
        }
    }
    
    // MARK: -实现代理方法
    func visitorViewLoginClick() {
        // 创建登录界面
        let oauthVC = CZOauthViewController()
        
        // 弹出登录界面,包装导航控制器
        presentViewController(UINavigationController(rootViewController: oauthVC), animated: true, completion: nil)
    }
    
    func visitorViewRegisterClick() {
        print(__FUNCTION__)
    }
    
    // MARK: -通知实现的方法
    // 推到后台
    func didEnterBackground() {
        // 停止转轮旋转
        print(__FUNCTION__)
        visitorView.pauseAnimation()
    }
    
    // 进入前台
    func didBecomeActive() {
        // 恢复转轮旋转
        print(__FUNCTION__)
        visitorView.resumeAnimation()
    }
    
    // MARK: -懒加载
    lazy var visitorView: CZVistorView = CZVistorView()
}
